home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-06 | 2.3 KB | 55 lines | [TEXT/GEOL] |
- Item 3047141 9-Jan-88 14:14
-
- From: D0619 Palomar Software, Dev, Joel West
-
- To: D0830 Data Translation, Dev, R Burger
-
- cc: MACAPP$ Girand1 MacDTS MacApp Interest List
-
- Sub: Curing color printing blues
-
- Regarding the use of PixMaps on printer drivers, this
- is something we discovered the hard way when working
- on screen dumping and printing FKEYs in our Colorizer
- package.
-
- As we are working on printer drivers, we’ve attempted
- to assemble various de facto rules for printing
- compatibility (from both the driver’s viewpoint and
- that of the application). Some were in my March 1987
- MacTutor article.
-
- The answer is in Palomar Tech Note #4, which I quote from
- below. If anyone wants a copy of it, I’ll be glad to send
- the entire note electronically. We’ll also have paper copies
- of our notes available upon request at the show.
-
- Joel West
- Palomar Software, Inc.
-
- Color Pixel Images
- Old color does not include the concept of a color pixel image. There are no
- PixMaps supported by machines without Color QuickDraw.
-
- Most existing printer drivers (with the notable exception of the Tektronix)
- give a GrafPort for drawing, even on the Mac II. The rules for using PixMaps
- with an old GrafPort under Color QuickDraw are somewhat complicated.
- If you do a CopyBits() to, say, the LaserWriter driver, you may expect it to
- just render the black & white equivalent. The 5.0 driver will fail badly.
-
- In srcCopy mode only, CopyBits() will pass a PixMap pointer to a QuickDraw
- bottleneck proc that’s expecting a BitMap pointer. This allows color pixel
- images to show up in an old GrafPort in, for example, a MacWrite document
- window where a picture was pasted from the Scrapbook and is displayed with
- DrawPicture(). Unfortunately, the bottleneck proc will get confused unless
- it’s smart enough to check for a PixMap — which is true for StdBits but not for
- the LaserWriter 5.0 driver bottleneck proc.
-
- One work-around is to use EraseRect() and srcOr, which always converts a
- PixMap to a BitMap. However, erasing bits is a very slow on the LaserWriter.
- Another way is to convert the PixMap offscreen to an offscreen BitMap yourself
- (with a CopyBits()) and then CopyBits() the resulting BitMap to the printing
- port.
-
-
-